//
//  ViewController.m
//  UICollectionView11-21
//
//  Created by zzn on 2016/11/21.
//  Copyright © 2016年 zhouzhuna. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()<UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout>

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
   
    //实现一个UICollectionView
    //1.创建一个layout布局对象
    UICollectionViewFlowLayout *layout=[[UICollectionViewFlowLayout alloc]init];
    //设置布局为垂直流布局
    layout.scrollDirection=UICollectionViewScrollDirectionVertical;
    //2.设计每个item的大小
    layout.itemSize=CGSizeMake(100, 100);
    //3.创建UiCollectionView
    UICollectionView *collect=[[UICollectionView alloc]initWithFrame:self.view.frame collectionViewLayout:layout];
    //4.设置代理
    collect.dataSource=self;
    collect.delegate=self;
    //5.item是否可重用，可重用注册可重用类型（ID）
    [collect registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"cellid"];
    //6.添加到主视图
    [self.view addSubview:collect];
    
}

//数据源方法
//1.一个collectionView有多少个区
-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView{
    return 2;
}
//2.每个区有多少个item
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
//    if (section==0) {
//        return 4;
//    }else{
//    
//        return 7;
//    }

    return 15;
}
//3.每个item设置一个什么样的cell
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{

    
    /*
     不能直接用init方法创建cell，因为UICollectionView是IOS6.0以后的新类，因此这里统一从复用池（保存可重用cell）中获取UIcollectionViewCell 不再提供直接返回nil的cell的方法。
     所以只能从复用池中去获取已存在的cell
     
     */
    

    
//1.创建cell
    UICollectionViewCell *cell=[collectionView dequeueReusableCellWithReuseIdentifier:@"cellid" forIndexPath:indexPath];
    
    cell.backgroundColor=[UIColor redColor];
    
    //2.返回cell
    return cell;


}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
